// node 27_字符串逆序输出.js

//charAt() 按索引返回字符串对应位置的字符

let s = 'abcdef'

//方法1
//转数组-数组逆序-转字符串
function operateString(s) {
    return s.split('').reverse().join('')
}
console.log(operateString(s))

//方法2
//遍历拼接字符串
function operateString2(s) {
    let newS = ''
    for(let i = s.length-1;i>=0;i--){
        newS += s.charAt(i)
        // newS += s[i]
    }
    return newS
}
console.log(operateString2(s))

//方法3
//递归实现
function operateString3(s,index) {
    if(index < 0) return ''
    return s[index] + operateString3(s,index-1)
}
console.log(operateString3(s,s.length-1))

//方法4
//使用call   （偏门方法）
function operateString4(s) {
    let arr = Array.prototype.slice.call(s)
    return arr.reverse().join('')
}
console.log(operateString4(s))